package com.voxel.sense.infomsg.module.task.execution;

import com.example.com.common.app.BaseContract;

import java.io.File;
import java.util.ArrayList;

/**
 * Created by ChenYiYao on 2018/3/27.
 */

public interface TaskExecutionContract {

    interface Presenter extends BaseContract.Presenter {

        /**
         * 提交任务
         *
         * @param taskNumber
         */
        void doSubmitTask(String taskNumber);

//        /**
//         * 加载拍照意图
//         */
//        void doPhotoIntent();

        /**
         * 拍照结束，加载数据
         *
         * @param file
         */
        void doTakePhotoFinish(File file);

        /**
         *
         */
        void doLoadGalleryData(ArrayList<String> datas);


        /**
         * 加载文档数据
         *
         * @param datas
         */
        void doDisposeDocData(ArrayList<String> datas);

        /**
         * 加载视频数据
         *
         * @param datas
         */
        void doDisposeVideoDatas(ArrayList<String> datas);

        /**
         * 取消上传
         */
        void doCancleUpLoad();

        /**
         * 移除某项已选中的数据
         *
         * @param position
         */
        void removePhotoDatas(int position);

        void removeVideoDatas(int position);

        void removeDocDatas(int position);
    }

    interface View extends BaseContract.View<Presenter> {
//        /**
//         * 拉起拍照界面
//         */
//        void onTriggerPhoto(Intent);

        /**
         * 刷新选中的图片数据
         *
         * @param datas
         */
        void onRefreshPhoto(ArrayList datas);

        /**
         * 刷新选中的文档数据
         *
         * @param datas
         */
        void onRefreshDoc(ArrayList datas);

        /**
         * 刷新选中的视频数据
         *
         * @param datas
         */
        void onRefreshVideo(ArrayList datas);


        /**
         * 上传完成
         */
        void onUpLoadComeplete();

        /**
         * 上传失败
         */
        void onUpLocadFailure();

        /**
         * 显示progress
         */
        void showUpLoadProgress(int progress, String msg);

        /**
         * 设置进度
         */
        void setUpLoadProgress(int progress);

    }
}
